package com.dingreading.cloud.admin.service;

import com.dingreading.cloud.admin.dto.SubjectLessonDto;
import com.dingreading.cloud.admin.dto.SubjectLessonListDto;
import com.dingreading.cloud.admin.entity.SubjectLesson;
import com.dingreading.cloud.common.base.R;
import com.dingreading.cloud.common.util.PageUtil;
import com.mybatisflex.core.paginate.Page;
import com.mybatisflex.core.service.IService;

import java.util.List;

/**
 * 服务层。
 *
 * @author Administrator
 * @since 2023-11-22
 */
public interface SubjectLessonService extends IService<SubjectLesson> {

    Page<SubjectLessonListDto> pageList(PageUtil pageUtil, Long subjectMainId, Long subjectId);

    void updateEnabled(Long id, Integer enabled);

    int getMaxLessonOrder(Long subjectMainId, Long subjectId);

    R<Object> updateBookInfo(String staffUid, String staffName, String uid, String bookIsbn, String bookPress, String bookImg);

    SubjectLessonDto dtoByUid(String uid);

    SubjectLessonDto dtoRelationById(Long id);

    R<Object> addRecord(String beginDate, String endDate);

    List<SubjectLesson> listBySubjectIdIn(List<Long> subjectIdList);

    /*双思学科修改*/
    void copy(Long id, String uid, String name, String htmlUrl, String dataUrl, String teachPlanUrl, Integer xcxStatus);

}
